UCF STIG Viewer Logo

The Kubernetes kubelet staticPodPath must not enable static pods.


Overview

Finding ID Version Rule ID IA Controls Severity
V-242397 CNTR-K8-000440 SV-242397r927245_rule High
Description
Allowing kubelet to set a staticPodPath gives containers with root access permissions to traverse the hosting filesystem. The danger comes when the container can create a manifest file within the /etc/kubernetes/manifests directory. When a manifest is created within this directory, containers are entirely governed by the Kubelet not the API Server. The container is not susceptible to admission control at all. Any containers or pods that are instantiated in this manner are called "static pods" and are meant to be used for pods such as the API server, scheduler, controller, etc., not workload pods that need to be governed by the API Server.
STIG Date
Kubernetes Security Technical Implementation Guide 2023-08-29

Details

Check Text ( C-45672r927091_chk )
Ensure that Kubernetes static PodPath is not enabled on each Control Plane and Worker node.

On the Control Plane and Worker nodes, run the command:
ps -ef | grep kubelet

Note the path to the config file (identified by --config).

Run the command:
grep -i staticPodPath

If any of the Control Plane and Worker nodes return a value for "staticPodPath", this is a finding.
Fix Text (F-45630r927092_fix)
On each Control Plane and Worker node, run the command:
ps -ef | grep kubelet

Note the path to the config file (identified by --config).

Edit the Kubernetes kubelet file in the --config directory on the Kubernetes Control Plane and Worker nodes. Remove the setting "staticPodPath".

Restart the kubelet service using the following command:
systemctl daemon-reload && systemctl restart kubelet